<?php
//文件用于分页//

class Page
{
   private $pagesize;      //分页条数
   private $sql;           //用于分页查询的sql语句
   private $pkey;           //主键
   
   public $url;            //url地址
   public $num=0;          //总条数
   public $first_page;     //首页
   public $last_page;      //尾页
   public $pageval;        //记录当前页数
   public $content;        //二维数组
   
   /* 构造函数 */
   function __construct($pagesize,$sql)
   {
     $this->pagesize=$pagesize;
	 $this->sql=$sql;
	 $this->pkey=$pkey;
	 $this->page($pagesize,$sql);
   }
   
	/* 防注入函数 */
	 function inject_check($sql_str) 
	 {
	   $check=eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str);
	   if($check)
	   {
		  echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
		  echo "<script>window.alert('输入非法注入内容');</script>";
		  exit();
	   }
	 }

   
   /* 分页函数 */
   function page($pagesize,$sql)
   {
      /* 获取url */
      $url=$_SERVER['REQUEST_URI'];
	  $url=parse_url($url);
	  $url=$url['path'];
	  $this->url=$url; 
	  
	  /* 计算满足条件的数据条目 */
	  $numq=mysql_query($sql); 
	  $num=mysql_num_rows($numq);
	  $this->num=$num; 
	  
	  /* 计算页数，首页和尾页设置 */
	  $first_page=1;
	  if($num/$pagesize==(int)($num/$pagesize))
      {    $last_page=$num/$pagesize;         }
	  else
	  {   $last_page=(int)($num/$pagesize)+1;}
	  $this->first_page=$first_page;
	  $this->last_page=$last_page;
	  
	  /* 处理传值 */
	  if($_GET['page'])
	  {
	    inject_check($_GET['page']);
  		$pageval=$_GET[page];  
		$page=($pageval-1)*$pagesize;  
		$page.=',';
      }
	  else
	  {$pageval=1;}
	  $this->pageval=$pageval;
	  
	  $sql=$sql." LIMIT $page $pagesize";
      $query=mysql_query($sql);
	  $i=0;
	  while($row=mysql_fetch_array($query))
	  {
	     $this->content[$i]=$row;
		 $i++;
	  }
   }
}

?>
